{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b63a5afb",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:39:45.660947Z",
     "start_time": "2024-05-27T08:39:44.582354Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "D:\\miniconda3\\envs\\cnn\\lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
      "  from .autonotebook import tqdm as notebook_tqdm\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import torch\n",
    "import torchvision\n",
    "import torch.nn as nn\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from tqdm import tqdm\n",
    "import torch.optim as optim\n",
    "from torch.utils.data import DataLoader\n",
    "import torchvision.datasets as datasets\n",
    "import torchvision.transforms as transforms\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2fab5efb",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:39:45.676453Z",
     "start_time": "2024-05-27T08:39:45.662947Z"
    }
   },
   "outputs": [],
   "source": [
    "# 定义LeNet模型\n",
    "class LeNet5(nn.Module):\n",
    "    def __init__(self):\n",
    "        super(LeNet5, self).__init__()\n",
    "        self.conv1 = nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5, stride=1)\n",
    "        self.pool1 = nn.AvgPool2d(kernel_size=2, stride=2)\n",
    "        self.conv2 = nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5, stride=1)\n",
    "        self.pool2 = nn.AvgPool2d(kernel_size=2, stride=2)\n",
    "        self.fc1 = nn.Linear(in_features=16 * 4 * 4, out_features=120)\n",
    "        self.fc2 = nn.Linear(in_features=120, out_features=84)\n",
    "        self.fc3 = nn.Linear(in_features=84, out_features=10)\n",
    "        \n",
    "    def forward(self, x):\n",
    "        x = self.pool1(torch.relu(self.conv1(x)))\n",
    "        x = self.pool2(torch.relu(self.conv2(x)))\n",
    "        x = x.reshape(-1, 16 * 4 * 4)\n",
    "        x = torch.relu(self.fc1(x))\n",
    "        x = torch.relu(self.fc2(x))\n",
    "        x = self.fc3(x)\n",
    "        return x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "449b149f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:39:45.707452Z",
     "start_time": "2024-05-27T08:39:45.677453Z"
    }
   },
   "outputs": [],
   "source": [
    "train_dataset = datasets.MNIST(root='../data', train=True, transform=transforms.ToTensor(), download=True)\n",
    "test_dataset = datasets.MNIST(root='../data', train=False, transform=transforms.ToTensor())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b275ba17",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:39:45.722953Z",
     "start_time": "2024-05-27T08:39:45.708953Z"
    }
   },
   "outputs": [],
   "source": [
    "# 定义数据加载器\n",
    "train_loader = DataLoader(dataset=train_dataset, batch_size=64, shuffle=True)\n",
    "test_loader = DataLoader(dataset=test_dataset, batch_size=64, shuffle=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "d78855fa",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:39:45.738452Z",
     "start_time": "2024-05-27T08:39:45.724453Z"
    }
   },
   "outputs": [],
   "source": [
    "model = LeNet5()\n",
    "loss_fun = nn.CrossEntropyLoss()\n",
    "optimizer = optim.Adam(model.parameters())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "337c392e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:39:45.831459Z",
     "start_time": "2024-05-27T08:39:45.739453Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "CrossEntropyLoss()"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.cuda()\n",
    "loss_fun.cuda()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "19145523",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:39:45.846960Z",
     "start_time": "2024-05-27T08:39:45.832461Z"
    }
   },
   "outputs": [],
   "source": [
    "train_loss = []\n",
    "test_acc = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "536d8235",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:41:13.127734Z",
     "start_time": "2024-05-27T08:39:45.848460Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      "  0%|                                                                                           | 0/10 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [1/10], Step [100/938], Loss: 0.6538\n",
      "Epoch [1/10], Step [200/938], Loss: 0.4641\n",
      "Epoch [1/10], Step [300/938], Loss: 0.2524\n",
      "Epoch [1/10], Step [400/938], Loss: 0.2822\n",
      "Epoch [1/10], Step [500/938], Loss: 0.2183\n",
      "Epoch [1/10], Step [600/938], Loss: 0.0867\n",
      "Epoch [1/10], Step [700/938], Loss: 0.1884\n",
      "Epoch [1/10], Step [800/938], Loss: 0.0745\n",
      "Epoch [1/10], Step [900/938], Loss: 0.2359\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 10%|████████▎                                                                          | 1/10 [00:07<01:08,  7.61s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [1/10], Test Accuracy:96.32%\n",
      "Epoch [2/10], Step [100/938], Loss: 0.1328\n",
      "Epoch [2/10], Step [200/938], Loss: 0.0720\n",
      "Epoch [2/10], Step [300/938], Loss: 0.0426\n",
      "Epoch [2/10], Step [400/938], Loss: 0.0964\n",
      "Epoch [2/10], Step [500/938], Loss: 0.0235\n",
      "Epoch [2/10], Step [600/938], Loss: 0.0559\n",
      "Epoch [2/10], Step [700/938], Loss: 0.0991\n",
      "Epoch [2/10], Step [800/938], Loss: 0.1442\n",
      "Epoch [2/10], Step [900/938], Loss: 0.1439\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 20%|████████████████▌                                                                  | 2/10 [00:16<01:06,  8.27s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [2/10], Test Accuracy:97.38%\n",
      "Epoch [3/10], Step [100/938], Loss: 0.0309\n",
      "Epoch [3/10], Step [200/938], Loss: 0.0105\n",
      "Epoch [3/10], Step [300/938], Loss: 0.0211\n",
      "Epoch [3/10], Step [400/938], Loss: 0.1622\n",
      "Epoch [3/10], Step [500/938], Loss: 0.1114\n",
      "Epoch [3/10], Step [600/938], Loss: 0.2152\n",
      "Epoch [3/10], Step [700/938], Loss: 0.0136\n",
      "Epoch [3/10], Step [800/938], Loss: 0.0504\n",
      "Epoch [3/10], Step [900/938], Loss: 0.0890\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 30%|████████████████████████▉                                                          | 3/10 [00:24<00:58,  8.40s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [3/10], Test Accuracy:98.33%\n",
      "Epoch [4/10], Step [100/938], Loss: 0.1128\n",
      "Epoch [4/10], Step [200/938], Loss: 0.0112\n",
      "Epoch [4/10], Step [300/938], Loss: 0.0981\n",
      "Epoch [4/10], Step [400/938], Loss: 0.1539\n",
      "Epoch [4/10], Step [500/938], Loss: 0.0496\n",
      "Epoch [4/10], Step [600/938], Loss: 0.0069\n",
      "Epoch [4/10], Step [700/938], Loss: 0.0159\n",
      "Epoch [4/10], Step [800/938], Loss: 0.1187\n",
      "Epoch [4/10], Step [900/938], Loss: 0.0422\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 40%|█████████████████████████████████▏                                                 | 4/10 [00:33<00:51,  8.52s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [4/10], Test Accuracy:98.03%\n",
      "Epoch [5/10], Step [100/938], Loss: 0.0353\n",
      "Epoch [5/10], Step [200/938], Loss: 0.0300\n",
      "Epoch [5/10], Step [300/938], Loss: 0.0137\n",
      "Epoch [5/10], Step [400/938], Loss: 0.0254\n",
      "Epoch [5/10], Step [500/938], Loss: 0.0277\n",
      "Epoch [5/10], Step [600/938], Loss: 0.0163\n",
      "Epoch [5/10], Step [700/938], Loss: 0.0215\n",
      "Epoch [5/10], Step [800/938], Loss: 0.0618\n",
      "Epoch [5/10], Step [900/938], Loss: 0.1879\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 50%|█████████████████████████████████████████▌                                         | 5/10 [00:42<00:43,  8.67s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [5/10], Test Accuracy:98.74%\n",
      "Epoch [6/10], Step [100/938], Loss: 0.0356\n",
      "Epoch [6/10], Step [200/938], Loss: 0.0137\n",
      "Epoch [6/10], Step [300/938], Loss: 0.0061\n",
      "Epoch [6/10], Step [400/938], Loss: 0.0395\n",
      "Epoch [6/10], Step [500/938], Loss: 0.0733\n",
      "Epoch [6/10], Step [600/938], Loss: 0.0284\n",
      "Epoch [6/10], Step [700/938], Loss: 0.0014\n",
      "Epoch [6/10], Step [800/938], Loss: 0.0655\n",
      "Epoch [6/10], Step [900/938], Loss: 0.0091\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 60%|█████████████████████████████████████████████████▊                                 | 6/10 [00:51<00:34,  8.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [6/10], Test Accuracy:98.45%\n",
      "Epoch [7/10], Step [100/938], Loss: 0.0014\n",
      "Epoch [7/10], Step [200/938], Loss: 0.0267\n",
      "Epoch [7/10], Step [300/938], Loss: 0.1197\n",
      "Epoch [7/10], Step [400/938], Loss: 0.0653\n",
      "Epoch [7/10], Step [500/938], Loss: 0.0153\n",
      "Epoch [7/10], Step [600/938], Loss: 0.0391\n",
      "Epoch [7/10], Step [700/938], Loss: 0.0488\n",
      "Epoch [7/10], Step [800/938], Loss: 0.0414\n",
      "Epoch [7/10], Step [900/938], Loss: 0.0141\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 70%|██████████████████████████████████████████████████████████                         | 7/10 [01:00<00:26,  8.95s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [7/10], Test Accuracy:98.56%\n",
      "Epoch [8/10], Step [100/938], Loss: 0.0023\n",
      "Epoch [8/10], Step [200/938], Loss: 0.0501\n",
      "Epoch [8/10], Step [300/938], Loss: 0.0009\n",
      "Epoch [8/10], Step [400/938], Loss: 0.0031\n",
      "Epoch [8/10], Step [500/938], Loss: 0.0060\n",
      "Epoch [8/10], Step [600/938], Loss: 0.0130\n",
      "Epoch [8/10], Step [700/938], Loss: 0.0270\n",
      "Epoch [8/10], Step [800/938], Loss: 0.0566\n",
      "Epoch [8/10], Step [900/938], Loss: 0.0366\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 80%|██████████████████████████████████████████████████████████████████▍                | 8/10 [01:10<00:18,  9.07s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [8/10], Test Accuracy:98.74%\n",
      "Epoch [9/10], Step [100/938], Loss: 0.0076\n",
      "Epoch [9/10], Step [200/938], Loss: 0.0073\n",
      "Epoch [9/10], Step [300/938], Loss: 0.0041\n",
      "Epoch [9/10], Step [400/938], Loss: 0.0148\n",
      "Epoch [9/10], Step [500/938], Loss: 0.0009\n",
      "Epoch [9/10], Step [600/938], Loss: 0.0217\n",
      "Epoch [9/10], Step [700/938], Loss: 0.0750\n",
      "Epoch [9/10], Step [800/938], Loss: 0.0114\n",
      "Epoch [9/10], Step [900/938], Loss: 0.0046\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\r",
      " 90%|██████████████████████████████████████████████████████████████████████████▋        | 9/10 [01:18<00:08,  8.94s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [9/10], Test Accuracy:98.86%\n",
      "Epoch [10/10], Step [100/938], Loss: 0.0044\n",
      "Epoch [10/10], Step [200/938], Loss: 0.0611\n",
      "Epoch [10/10], Step [300/938], Loss: 0.0011\n",
      "Epoch [10/10], Step [400/938], Loss: 0.0427\n",
      "Epoch [10/10], Step [500/938], Loss: 0.0008\n",
      "Epoch [10/10], Step [600/938], Loss: 0.0283\n",
      "Epoch [10/10], Step [700/938], Loss: 0.0364\n",
      "Epoch [10/10], Step [800/938], Loss: 0.0113\n",
      "Epoch [10/10], Step [900/938], Loss: 0.0483\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████████████████████████████████████████████████████████████████████████████| 10/10 [01:27<00:00,  8.73s/it]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch [10/10], Test Accuracy:98.94%\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "# 训练模型\n",
    "model.train()\n",
    "for epoch in tqdm(range(10)):\n",
    "    for i, (images, labels) in enumerate(train_loader):\n",
    "        optimizer.zero_grad()\n",
    "        images = images.cuda()\n",
    "        labels = labels.cuda()\n",
    "        outputs = model(images)\n",
    "        loss = loss_fun(outputs, labels)\n",
    "        train_loss.append(loss.data.cpu().numpy())\n",
    "        loss.backward()\n",
    "        optimizer.step()\n",
    "        \n",
    "        if (i+1) % 100 == 0:\n",
    "            print('Epoch [{}/{}], Step [{}/{}], Loss: {:.4f}'.format(epoch+1, 10, i+1, len(train_loader), loss.item()))\n",
    "    \n",
    "    # 每个epoch进行一次eval\n",
    "    model.eval()\n",
    "    with torch.no_grad():\n",
    "        correct = 0\n",
    "        total = 0\n",
    "        for images, labels in test_loader:\n",
    "            images = images.cuda()\n",
    "            labels = labels.cuda()\n",
    "            outputs = model(images)\n",
    "            # torch.max(input, dim, max=None, max_indices=None) -> (Tensor, LongTensor)\n",
    "            _, predicted = torch.max(outputs.data, 1) # 返回行最大值，和对应的行标\n",
    "            total += labels.size(0)\n",
    "            correct += (predicted == labels).sum().item()\n",
    "            test_acc.append(100*correct/total)\n",
    "        print('Epoch [{}/{}], Test Accuracy:{:.2f}%'.format(epoch+1, 10, 100*correct/total))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "7f3c6c4f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-05-27T08:41:46.867470Z",
     "start_time": "2024-05-27T08:41:46.504945Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x167b6e17790>]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABIgAAAIjCAYAAABoJyDUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC2LklEQVR4nOzdd3hTZf/H8U86aEtpyyxQ9pIpCAgIIoIiggsFRdFHnD8XDh4VFSeKiuLjwoUbBRQHKA6ksodsZO8NpZQyu2eS3x+lIWnTnfRkvF/X1cvk5OTk2xracz753vdtslqtVgEAAAAAAMBvBRhdAAAAAAAAAIxFQAQAAAAAAODnCIgAAAAAAAD8HAERAAAAAACAnyMgAgAAAAAA8HMERAAAAAAAAH6OgAgAAAAAAMDPERABAAAAAAD4OQIiAAAAAAAAP0dABMCj3HnnnWratKnRZQAAAACAXyEgAlAqJpOpVF+LFi0yulQHixYtkslk0s8//2x0KQAAADaVeW6Vnp6usWPHlutYs2fPlslkUkxMjCwWS4VrAeC5gowuAIB3mDJlisP9b7/9VnPnzi20vW3bthV6nc8//5yTDwAA4PMq69xKyguIXn75ZUlS3759y/TcadOmqWnTpjpw4IAWLFig/v37V7geAJ6JgAhAqfznP/9xuL9y5UrNnTu30PaC0tPTVbVq1VK/TnBwcLnqAwAA8CblPbeqTGlpaZo1a5bGjx+vr7/+WtOmTSMgAnwYQ8wAuEzfvn3VoUMHrVu3Tn369FHVqlX17LPPSpJmzZqlq6++WjExMQoJCVGLFi00btw4mc1mh2MUnIPowIEDMplM+t///qfPPvtMLVq0UEhIiLp166Y1a9a4rPZ9+/bppptuUs2aNVW1alVddNFF+vPPPwvt98EHH6h9+/aqWrWqatSooQsvvFDfffed7fGUlBSNGjVKTZs2VUhIiKKjo3XFFVfo33//dVmtAADAP1gsFr333ntq3769QkNDVbduXd1///06ffq0w35r167VlVdeqdq1ayssLEzNmjXT3XffLSnvXKpOnTqSpJdfftk2dG3s2LElvv4vv/yijIwM3XTTTbrllls0c+ZMZWZmFtovMzNTY8eO1XnnnafQ0FDVr19fQ4YM0d69ex2+l/fff1/nn3++QkNDVadOHQ0cOFBr166twE8IgCvRQQTApU6ePKlBgwbplltu0X/+8x/VrVtXkjR58mRVq1ZNjz/+uKpVq6YFCxboxRdfVHJyst56660Sj/vdd98pJSVF999/v0wmkyZMmKAhQ4Zo3759Fe46OnbsmHr16qX09HQ9+uijqlWrlr755htdd911+vnnn3XDDTdIyhv+9uijj+rGG2/UY489pszMTG3atEmrVq3SrbfeKkl64IEH9PPPP+vhhx9Wu3btdPLkSS1btkzbt29Xly5dKlQnAADwL/fff78mT56su+66S48++qj279+vDz/8UOvXr9c///yj4OBgJSYmasCAAapTp46eeeYZVa9eXQcOHNDMmTMlSXXq1NEnn3yiBx98UDfccIOGDBkiSerYsWOJrz9t2jT169dP9erV0y233KJnnnlGv//+u2666SbbPmazWddcc43mz5+vW265RY899phSUlI0d+5cbdmyRS1atJAk3XPPPZo8ebIGDRqke++9V7m5uVq6dKlWrlypCy+80A0/PQBlZgWAchg5cqS14K+QSy+91CrJOmnSpEL7p6enF9p2//33W6tWrWrNzMy0bbvjjjusTZo0sd3fv3+/VZK1Vq1a1lOnTtm2z5o1yyrJ+vvvvxdb58KFC62SrD/99FOR+4waNcoqybp06VLbtpSUFGuzZs2sTZs2tZrNZqvVarUOHjzY2r59+2JfLyoqyjpy5Mhi9wEAACio4LnV0qVLrZKs06ZNc9hvzpw5Dtt/+eUXqyTrmjVrijz28ePHrZKsL730UqnrOXbsmDUoKMj6+eef27b16tXLOnjwYIf9vvrqK6sk6zvvvFPoGBaLxWq1Wq0LFiywSrI++uijRe4DwHgMMQPgUiEhIbrrrrsKbQ8LC7PdTklJ0YkTJ3TJJZcoPT1dO3bsKPG4N998s2rUqGG7f8kll0jKGxpWUbNnz1b37t3Vu3dv27Zq1arpvvvu04EDB7Rt2zZJUvXq1RUXF1fs0Lbq1atr1apVio+Pr3BdAADAf/3000+KiorSFVdcoRMnTti+unbtqmrVqmnhwoWS8s49JOmPP/5QTk6Oy15/+vTpCggI0NChQ23bhg8frr/++sthiNuMGTNUu3ZtPfLII4WOYTKZbPuYTCa99NJLRe4DwHgERABcqkGDBqpSpUqh7Vu3btUNN9ygqKgoRUZGqk6dOrZJGJOSkko8buPGjR3u54dFBcfgl8fBgwfVunXrQtvzVw05ePCgJOnpp59WtWrV1L17d7Vq1UojR47UP//84/CcCRMmaMuWLWrUqJG6d++usWPHuiTEAgAA/mX37t1KSkpSdHS06tSp4/CVmpqqxMRESdKll16qoUOH6uWXX1bt2rU1ePBgff3118rKyqrQ60+dOlXdu3fXyZMntWfPHu3Zs0edO3dWdna2fvrpJ9t+e/fuVevWrRUUVPTsJXv37lVMTIxq1qxZoZoAuBdzEAFwKftOoXxnzpzRpZdeqsjISL3yyitq0aKFQkND9e+//+rpp58u1bL2gYGBTrdbrdYK11xabdu21c6dO/XHH39ozpw5mjFjhj7++GO9+OKLtqVjhw0bpksuuUS//PKL/v77b7311lt68803NXPmTA0aNKjSagUAAN7NYrEoOjpa06ZNc/p4/sTTJpNJP//8s1auXKnff/9dsbGxuvvuu/X2229r5cqVqlatWplfe/fu3baO6VatWhV6fNq0abrvvvvKfFwAno2ACIDbLVq0SCdPntTMmTPVp08f2/b9+/cbWNU5TZo00c6dOwttzx/61qRJE9u28PBw3Xzzzbr55puVnZ2tIUOG6LXXXtOYMWMUGhoqSapfv74eeughPfTQQ0pMTFSXLl302muvERABAIBSa9GihebNm6eLL77Y6QdwBV100UW66KKL9Nprr+m7777TbbfdpunTp+vee+8t8zCuadOmKTg4WFOmTCn0Id2yZcs0ceJEHTp0SI0bN1aLFi20atUq5eTkFLlwSIsWLRQbG6tTp07RRQR4MIaYAXC7/BML+26f7Oxsffzxx0aV5OCqq67S6tWrtWLFCtu2tLQ0ffbZZ2ratKnatWsnKW+FNntVqlRRu3btZLValZOTI7PZXGi4XHR0tGJiYirc5g0AAPzLsGHDZDabNW7cuEKP5ebm6syZM5LyhtsX7Ki+4IILJMl2/lG1alVJsj2nJNOmTdMll1yim2++WTfeeKPD1+jRoyVJ33//vSRp6NChOnHihD788MNCx8mva+jQobJarbaOa2f7ADAeHUQA3K5Xr16qUaOG7rjjDj366KMymUyaMmVKpZ4QzJgxw+lk2HfccYeeeeYZff/99xo0aJAeffRR1axZU998843279+vGTNmKCAgL0sfMGCA6tWrp4svvlh169bV9u3b9eGHH+rqq69WRESEzpw5o4YNG+rGG29Up06dVK1aNc2bN09r1qzR22+/XWnfKwAA8H6XXnqp7r//fo0fP14bNmzQgAEDFBwcrN27d+unn37S+++/rxtvvFHffPONPv74Y91www1q0aKFUlJS9PnnnysyMlJXXXWVpLwpANq1a6cffvhB5513nmrWrKkOHTqoQ4cOhV531apV2rNnjx5++GGndTVo0EBdunTRtGnT9PTTT2vEiBH69ttv9fjjj2v16tW65JJLlJaWpnnz5umhhx7S4MGD1a9fP91+++2aOHGidu/erYEDB8pisWjp0qXq169fka8FoHIREAFwu1q1aumPP/7QE088oeeff141atTQf/7zH11++eW68sorK6WG6dOnO93et29f9e7dW8uXL9fTTz+tDz74QJmZmerYsaN+//13XX311bZ977//fk2bNk3vvPOOUlNT1bBhQz366KN6/vnnJeV9OvfQQw/p77//1syZM2WxWNSyZUt9/PHHevDBByvl+wQAAL5j0qRJ6tq1qz799FM9++yzCgoKUtOmTfWf//xHF198saS8IGn16tWaPn26jh07pqioKHXv3l3Tpk1Ts2bNbMf64osv9Mgjj+i///2vsrOz9dJLLzkNiPLnPLr22muLrOvaa6/V2LFjtWnTJnXs2FGzZ8+2DW2bMWOGatWqpd69e+v888+3Pefrr79Wx44d9eWXX2r06NGKiorShRdeqF69ernqxwWggkxWevoAAAAAAAD8GnMQAQAAAAAA+DkCIgAAAAAAAD9HQAQAAAAAAODnCIgAAAAAAAD8HAERAAAAAACAnyMgAgAAAAAA8HNBRhdQ2SwWi+Lj4xURESGTyWR0OQAAoAhWq1UpKSmKiYlRQACfaRmJ8ycAALxDRc6f/C4gio+PV6NGjYwuAwAAlNLhw4fVsGFDo8vwa5w/AQDgXcpz/uR3AVFERISkvB9WZGSkwdUAAICiJCcnq1GjRra/3TAO508AAHiHipw/+V1AlN8WHRkZyQkOAABegCFNxuP8CQAA71Ke8ycG9AMAAAAAAPg5AiIAAAAAAAA/R0AEAAAAAADg5wiIAAAAAAAA/BwBEQAAAAAAgJ8jIAIAAAAAAPBzBEQAAAAAAAB+joAIAAAAAADAzxEQAQAAAAAA+DkCIgAAAAAAAD9HQAQAAAAAAODnCIgAAAAAAAD8HAERAAAAAACAnyMgAgAAAAAA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64cffii0ffr06WrXrp1LX+vee+/V3LlzNWXKFG3evFkDBgxQ//79deTIEUnS3r171bt3b7Vp00aLFi3Spk2b9MILLyg0NNSldbhDp4bVS9znpwd6KjykXNNqAjiLIZMApHJOUm2xWPTqq6/q7bffVmpqqiQpIiJCTzzxhJ577jkFlGG8uK+xFJhFceR3/+rT2y80qBoAAGCEF154QUOGDNHevXt12WWXSZLmz5+v7777Tj///LPLXicjI0MzZszQrFmz1KdPH0nS2LFj9fvvv+uTTz7Rq6++queee05XXXWVJkyYYHteixYtXFaDO3VsFFXiPt2a1qyESgAfZJcJMcQMgFTODqLnnntOH374od544w2tX79e69ev1+uvv64PPvhAL7zwgqtr9CoF0/fYrccMqgQAABjl2muv1a+//qo9e/booYce0hNPPKEjR45owYIFatnSdfMV5ubmymw2F+oGCgsL07Jly2SxWPTnn3/qvPPO05VXXqno6Gj16NFDv/76a7HHzcrKUnJyssOXESJDgzX6ytaGvHZJuJ4GAPiacgVE33zzjb744gs9+OCD6tixozp27KiHHnpIn3/+uSZPnuziEgEAALzP1VdfrX/++UdpaWnat2+fhg0bpieffFKdOnVy2WtERESoZ8+eGjdunOLj42U2mzV16lStWLFCR48eVWJiolJTU/XGG29o4MCB+vvvv3XDDTdoyJAhWrx4cZHHHT9+vKKiomxfjRo1clnNZTWyX0tte+VKfXRrF8NqAHwdgScAqZwB0alTp5zONdSmTRudOnWqwkV5M9ozAQBAviVLluiOO+5QTEyM3n77bV122WVauXKlS19jypQpslqtatCggUJCQjRx4kQNHz5cAQEBsljy5kIcPHiw/vvf/+qCCy7QM888o2uuuUaTJk0q8phjxoxRUlKS7evw4cMurbmsqlYJ0tUd6xfafnHLWgZUA/germEASOWcg6hTp0768MMPNXHiRIftH374oTp27OiSwgAAALxRQkKCJk+erC+//FLJyckaNmyYsrKy9Ouvv7p8gmopbz6hxYsXKy0tTcnJyapfv75uvvlmNW/eXLVr11ZQUFCh123btq2WLVtW5DFDQkIUEhLi8lpd6c2h5+vK9vWMLgMAAJ9RroBowoQJuvrqqzVv3jz17NlTkrRixQodPnxYs2fPdmmBAAAA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",
      "text/plain": [
       "<Figure size 1400x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(14, 6))\n",
    "ax1 = plt.subplot(1, 2, 1)\n",
    "ax1.set_title('Train Loss')\n",
    "ax1.set_xlabel('Iteration')\n",
    "ax1.set_ylabel('Loss')\n",
    "ax1.plot(train_loss)\n",
    "\n",
    "ax2 = plt.subplot(1, 2, 2)\n",
    "ax2.set_title('Test Acc')\n",
    "ax2.set_xlabel('Iteration')\n",
    "ax2.set_ylabel('Acc')\n",
    "ax2.plot(test_acc)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "cnn",
   "language": "python",
   "name": "cnn"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.19"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
